library(psych)
library(summarytools)
library(performance)
library(MASS)
library(dplyr)
library(rstatix)
library(lmtest)
library(ggpubr)
library(nnet)
library(tidyr)
library(car)
library(agricolae)
library(ExpDes.pt)
library(hnp)
df <- read.csv('https://raw.githubusercontent.com/JessicaHemily/COMP_1/main/LeukocyteProfiles.csv/LeukocyteProfiles.csv',
header = TRUE,
sep = ',')
head(df)
## Species FatScore BodyMass Heterophils Lymphocytes Eosinophils
## 1 Actitis hypoleucos 5 56 64 19 5
## 2 Actitis hypoleucos 1 44 60 34 0
## 3 Actitis hypoleucos 2 46 63 28 5
## 4 Actitis hypoleucos 3 47 2 87 4
## 5 Actitis hypoleucos 3 44 68 24 6
## 6 Actitis hypoleucos 5 45 42 45 6
## Monocytes Basophils HLRatio
## 1 0 12 3.37
## 2 1 5 1.76
## 3 0 4 2.25
## 4 2 5 0.02
## 5 0 2 2.83
## 6 3 4 0.93
#df_2 <- df[df$Species == "Calidris temminckii",]
#linha <- nrow(df_2)
#linha
VARIÁVEIS
FatScore: Escore de gordura que varia de 0 a 8;
BodyMass: Massa do pássaro;
Heterophils: Heterófilos são fagócitos-chaves fundamentais para a defesa imunológica das aves. Eles se ligam e detectam patógenos invasores através do uso de receptores Toll-like (TLRs), receptores Fc e receptores de complemento;
Lymphocytes: Linfócitos são um tipo de leucócito ou glóbulo branco do sangue, responsáveis pelo reconhecimento e destruição de micro-organismos infecciosos como bactériase vírus;
Eosinophils: Os eosinófilos são um dos vários glóbulos brancos que sustentam o sistema imunológico e fazem parte do sistema de defesa do seu corpo contra alérgenos além de ajudar a protegê-lo contra infecções fúngicas e parasitárias. Comp: Dependendo da contagem de eosinófilos, a eosinofilia pode ser leve, moderada ou grave. Níveis elevados de eosinófilos podem indicar uma condição leve, como reação a medicamentos ou alergia, ou uma condição grave pode causar isso, incluindo algumas doenças do sangue. Um grande número de eosinófilos se aglomera em áreas específicas do corpo, causando problemas médicos ligados à inflamação que podem afetar várias áreas do corpo.
(https://my.clevelandclinic.org/health/diseases/17710-eosinophilia)
Monocytes: Os monócitos são um tipo de glóbulo branco do sistema imunológico, em que se transformam em macrófagos ou células dendríticas quando um germe ou bactéria invasora entra em seu corpo. As células matam o invasor ou alertam outras células sanguíneas para ajudar a destruí-lo e prevenir a infecção.
(https://my.clevelandclinic.org/health/body/22110-monocytes)
Basophils: Os basófilos são um tipo de glóbulo branco que trabalha em estreita colaboração com o sistema imunológico para defender o corpo contra alérgenos, patógenos e parasitas, em que liberam enzimas para melhorar o fluxo sanguíneo e prevenir coágulos sanguíneos.
(https://my.clevelandclinic.org/health/body/23256-basophils)
HLRatio: O HLRatio é geralmente considerada um indicador independente e robusto do nível de estresse em aves. Este parâmetro permite avaliar de forma simples a atividade do sistema imunológico e o estado de saúde individual de aves adultas e filhotes. Também permite avaliar a resposta do organismo ao estresse de curto e longo prazo induzido, entre outros, pelo ambiente envolvente, estresse social, parasitas sanguíneos ou um maior gasto energético das fêmeas durante a reprodução.
summary(df)
## Species FatScore BodyMass Heterophils
## Length:415 Min. :0.000 Min. : 20.00 Min. : 1.00
## Class :character 1st Qu.:0.000 1st Qu.: 45.00 1st Qu.:23.00
## Mode :character Median :3.000 Median : 59.00 Median :35.00
## Mean :2.701 Mean : 76.03 Mean :37.07
## 3rd Qu.:5.000 3rd Qu.: 96.00 3rd Qu.:49.00
## Max. :7.000 Max. :236.00 Max. :89.00
## NA's :3
## Lymphocytes Eosinophils Monocytes Basophils
## Min. : 7.00 Min. : 0.000 Min. :0.0000 Min. : 0.000
## 1st Qu.:38.00 1st Qu.: 1.000 1st Qu.:0.0000 1st Qu.: 2.000
## Median :53.00 Median : 3.000 Median :0.0000 Median : 4.000
## Mean :51.46 Mean : 6.166 Mean :0.9735 Mean : 4.325
## 3rd Qu.:63.00 3rd Qu.: 9.000 3rd Qu.:2.0000 3rd Qu.: 6.000
## Max. :92.00 Max. :45.000 Max. :8.0000 Max. :19.000
##
## HLRatio
## Min. : 0.010
## 1st Qu.: 0.370
## Median : 0.660
## Mean : 1.052
## 3rd Qu.: 1.195
## Max. :12.140
##
glimpse(df)
## Rows: 415
## Columns: 9
## $ Species <chr> "Actitis hypoleucos", "Actitis hypoleucos", "Actitis hypol…
## $ FatScore <int> 5, 1, 2, 3, 3, 5, 3, 3, 3, 3, 5, 5, 5, 4, 4, 6, 6, 4, 7, 7…
## $ BodyMass <int> 56, 44, 46, 47, 44, 45, 44, 39, 44, 49, 61, 51, 60, 49, 48…
## $ Heterophils <int> 64, 60, 63, 2, 68, 42, 43, 40, 39, 67, 57, 22, 63, 77, 37,…
## $ Lymphocytes <int> 19, 34, 28, 87, 24, 45, 42, 37, 40, 25, 36, 61, 23, 22, 56…
## $ Eosinophils <int> 5, 0, 5, 4, 6, 6, 6, 5, 18, 2, 5, 6, 4, 1, 1, 4, 18, 6, 18…
## $ Monocytes <int> 0, 1, 0, 2, 0, 3, 0, 1, 1, 3, 0, 1, 0, 0, 0, 3, 2, 2, 3, 1…
## $ Basophils <int> 12, 5, 4, 5, 2, 4, 9, 17, 2, 3, 2, 10, 10, 0, 6, 5, 7, 4, …
## $ HLRatio <dbl> 3.37, 1.76, 2.25, 0.02, 2.83, 0.93, 1.02, 1.08, 0.98, 2.68…
A variável FatScore é do tipo qualitativa ordinal
#df$FatScore <- as.character(df$FatScore)
A variável que se deseja modelar é a variável contínua HLRatio.
hist(df$HLRatio)
cbind(table(df$Species))
## [,1]
## Actitis hypoleucos 22
## Arenaria interpres 32
## Calidris alpina 62
## Calidris canutus 10
## Calidris ferruginea 17
## Calidris minuta 23
## Calidris temminckii 5
## Charadrius dubius 28
## Charadrius hiaticula 34
## Limicola falcinellus 11
## Limosa lapponica 9
## Philomachus pugnax 36
## Pluvialis squatarola 5
## Tringa erythropus 20
## Tringa glareola 38
## Tringa nebularia 7
## Tringa ochropus 7
## Tringa totanus 42
## Vanellus vanellus 7
n_species <- length(cbind(table(df$Species)))
cat("A base de dados apresenta ",n_species, " espécies distintas")
## A base de dados apresenta 19 espécies distintas
Scolopacidae
Actitis hypoleucos;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=212603
Arenaria interpres;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=147431
Calidris alpina;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=159047
Calidris canutus;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=147433
Calidris ferruginea;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=159049
Calidris minuta;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=212600
Calidris temminckii;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=366591#distributions
Limicola falcinellus;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=212621
Limosa lapponica;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=159034
Philomachus pugnax;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=159046
Tringa erythropus;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=159029
Tringa glareola;
Fonte: https://www.wikiaves.com.br/wiki/macarico-de-bico-curto
Tringa nebularia;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=158968
Tringa ochropus;
Fonte:
Tringa totanus;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=158970
Charadriidae
Charadrius dubius;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=212617
Charadrius hiaticula;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=212619
Pluvialis squatarola;
Fonte: https://www.marinespecies.org/aphia.php?p=taxdetails&id=159137
Vanellus vanellus;
par(mfrow = c(2,4))
for (coluna in c(2:9)) {
variavel <- names(df)[coluna]
boxplot(df[,coluna],main = variavel)
}
Devido as diferentes espécies em estudo, é esperado que haja variabilidade dos dados.
# Função para extrair a primeira palavra de uma string
extrair_primeira_palavra <- function(string) {
palavras <- strsplit(string, " ")[[1]]
primeira_palavra <- palavras[1]
return(primeira_palavra)
}
df$Genero <- sapply(df$Species, extrair_primeira_palavra)
cbind(table(df$Genero))
## [,1]
## Actitis 22
## Arenaria 32
## Calidris 117
## Charadrius 62
## Limicola 11
## Limosa 9
## Philomachus 36
## Pluvialis 5
## Tringa 114
## Vanellus 7
n_genero <- length(cbind(table(df$Genero)))
cat("Existem ",n_genero," Gêneros distintos")
## Existem 10 Gêneros distintos
df$Familia <- ifelse(df$Genero %in% c('Charadrius', 'Pluvialis', 'Vanellus') ,'Charadriidae','Scolopacidae')
cbind(table(df$Familia))
## [,1]
## Charadriidae 74
## Scolopacidae 341
n_familia <- length(cbind(table(df$Familia)))
cat("Existem ",n_familia," Familias distintas")
## Existem 2 Familias distintas
Fonte: Google.com